using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Keep.Model;
using Keep.Model.Page;
using Microsoft.AspNetCore.Mvc.RazorPages;

namespace Keep.Service;

public interface IFileService
{
    void UploadFile(List<IFormFile> files, string subDirectory, string staticPath);
    string UploadBlogImage(IFormFile files);
    string UploadFoodImage(IFormFile files);
    string UploadFoodThImage(IFormFile files, string name);
    string UploadIconImage(IFormFile files);
    (string fileType, byte[] archiveData, string archiveName) DownloadFiles(string subDirectory);
    string SizeConverter(long bytes);
    string GetFileData(string staticPath, string path);
    bool SaveFileData(string staticPath, string name, string content);
    PageResult<FileDiy> GetPathInfo(string staticPath, string path, int currentPage, int pageSize);
    PageResult<FileDiy> GetMusicPathInfo(int currentPage, int pageSize);
    List<FileDiy> SelFileByName(string staticPath, string name);
    bool AddFile(string subDirectory, string staticPath);
    bool EditFileDirOrName(string subDirectory, string staticPath, string oldname, string newname);
    string AddFileDirectory(string subDirectory, string staticPath);
    bool DelFile(string subDirectory, string staticPath, string name);
    bool DelFileDir(string subDirectory, string staticPath, string name);
    List<Statistic> GetPathStatistic();
}
